Database Tutorials Redis Master-Slave Replication কনফিগার করা গাইড ও নোট

369

Redis Master-Slave Replication একটি পদ্ধতি যেখানে একটি Master সার্ভার ডেটা লেখার দায়িত্ব পালন করে, এবং এক বা একাধিক Slave সার্ভার তার ডেটা রিড (পড়ার) জন্য কপি করে। এটি মূলত ডেটা রেডান্ডেন্সি এবং লোড ব্যালেন্সিং নিশ্চিত করতে ব্যবহৃত হয়, কারণ একাধিক slave সার্ভার ক্লায়েন্টের রিড অনুরোধ হ্যান্ডেল করতে পারে, এবং master সার্ভার শুধু ডেটা লেখার কাজ করে।

রেডিসে Master-Slave Replication কনফিগার করার জন্য নিচে দেওয়া পদক্ষেপগুলো অনুসরণ করুন:


Redis Master-Slave Replication কনফিগারেশন

ধরা যাক, আপনার কাছে দুটি রেডিস সার্ভার রয়েছে:

  • Master সার্ভার (যেখানে ডেটা লেখার কাজ হবে)
  • Slave সার্ভার (যেখানে ডেটা পড়ার কাজ হবে)

ধাপ ১: Master সার্ভার কনফিগারেশন

Master সার্ভারে কোনো বিশেষ কনফিগারেশন পরিবর্তন করার প্রয়োজন নেই। ডিফল্টভাবে, রেডিস একটি Master সার্ভার হিসেবে কাজ করে।

  1. redis.conf ফাইলটি এডিট করুন:

    sudo nano /etc/redis/redis.conf
    
  2. bind এবং protected-mode: আপনি নিশ্চিত করুন যে, bind এবং protected-mode ঠিকমতো কনফিগার করা আছে। সাধারণত, এটি রেডিস সার্ভারকে অন্যান্য সার্ভারের সাথে কানেক্ট হতে অনুমতি দেয়।

    উদাহরণ:

    bind 0.0.0.0     # অন্যান্য সার্ভার থেকে সংযোগ করার জন্য
    protected-mode no # প্রোটেক্টেড মোড বন্ধ
    
  3. Redis সার্ভার রিস্টার্ট করুন: কনফিগারেশন পরিবর্তনের পর, রেডিস সার্ভার রিস্টার্ট করতে:

    sudo systemctl restart redis
    

ধাপ ২: Slave সার্ভার কনফিগারেশন

  1. redis.conf ফাইলটি এডিট করুন: এখন Slave সার্ভারে গিয়ে redis.conf ফাইলটি এডিট করুন:

    sudo nano /etc/redis/redis.conf
    
  2. Master সার্ভারের IP এবং পোর্ট যোগ করুন: Slave সার্ভারে replicaof প্যারামিটার ব্যবহার করে Master সার্ভারের IP এবং পোর্ট নির্ধারণ করুন:

    replicaof <Master_IP> <Master_PORT>
    

    উদাহরণ:

    replicaof 192.168.1.100 6379
    

    এখানে, 192.168.1.100 হলো Master সার্ভারের IP এবং 6379 হলো ডিফল্ট পোর্ট।

  3. Redis সার্ভার রিস্টার্ট করুন: কনফিগারেশন পরিবর্তন করার পর, Slave সার্ভার রিস্টার্ট করুন:

    sudo systemctl restart redis
    

ধাপ ৩: Master-Slave Replication পরীক্ষা করা

এখন, আপনি Master এবং Slave সার্ভারের মধ্যে replication সফলভাবে কনফিগার করেছেন। এটি পরীক্ষা করার জন্য নিচের পদক্ষেপগুলি অনুসরণ করুন:

  1. Master সার্ভারে একটি কিপেয়ার সেট করুন:

    redis-cli
    SET user:1 "John Doe"
    
  2. Slave সার্ভারে একই কিপেয়ার চেক করুন: Slave সার্ভারে গিয়ে আপনি GET কমান্ড ব্যবহার করে user:1 কিপেয়ারটি দেখতে পারেন:

    redis-cli
    GET user:1
    

    এর উত্তর হবে:

    "John Doe"
    

    এটি দেখাবে যে, Master সার্ভারের ডেটা Slave সার্ভারে সঠিকভাবে replicate হয়েছে।


ধাপ ৪: Replication কনফিগারেশন যাচাই করা

Replication সফলভাবে কনফিগার হয়েছে কিনা তা যাচাই করতে আপনি INFO replication কমান্ড ব্যবহার করতে পারেন।

  1. Master সার্ভারে INFO replication: Master সার্ভারে এই কমান্ডটি চালান:

    redis-cli INFO replication
    

    আউটপুট কিছুটা এই রকম হতে পারে:

    # Replication
    role:master
    connected_slaves:1
    slave0:ip=192.168.1.101,port=6379,state=online,offset=1083,lag=0
    

    এটি দেখাবে যে, Master সার্ভারে একটি Slave সার্ভার সংযুক্ত আছে এবং এর role হচ্ছে master

  2. Slave সার্ভারে INFO replication: Slave সার্ভারে একই কমান্ডটি চালান:

    redis-cli INFO replication
    

    আউটপুট হবে:

    # Replication
    role:slave
    master_host:192.168.1.100
    master_port:6379
    master_link_status:up
    master_sync_in_progress:0
    

    এটি দেখাবে যে, Slave সার্ভারে role হচ্ছে slave এবং এটি Master সার্ভারের সাথে সংযুক্ত আছে।


ধাপ ৫: Master-Slave Replication এর অন্যান্য প্যারামিটার

  1. Slave Read/Write (SLAVEOF NO ONE): যদি আপনি চান যে, Slave সার্ভার লেখার জন্যও ব্যবহৃত হোক, তাহলে SLAVEOF NO ONE কমান্ড দিয়ে এটি Master সার্ভারের থেকে স্বাধীনভাবে কাজ করতে পারে।

    SLAVEOF NO ONE
    
  2. নির্দিষ্ট পাসওয়ার্ডের সাথে সংযোগ: যদি আপনার রেডিস সার্ভারে পাসওয়ার্ড সেট করা থাকে, তবে Slave সার্ভার কনফিগারেশনে masterauth প্যারামিটার ব্যবহার করতে হবে:

    masterauth <password>
    

সারাংশ

  • Master-Slave Replication কনফিগার করার জন্য প্রথমে Master সার্ভারে কোন বিশেষ কনফিগারেশন পরিবর্তন করার প্রয়োজন নেই, তবে Slave সার্ভারে replicaof প্যারামিটার দিয়ে Master সার্ভারের IP এবং পোর্ট নির্ধারণ করতে হবে।
  • রেডিস Master-Slave Replication ব্যবহারের মাধ্যমে আপনি ডেটা রেডান্ডেন্সি এবং লোড ব্যালেন্সিং নিশ্চিত করতে পারেন।
  • INFO replication কমান্ড ব্যবহার করে আপনি Replication এর অবস্থা যাচাই করতে পারেন।
Content added By
Promotion

Are you sure to start over?

Loading...